//
//  main.c
//  函数的返回值
//
//  Created by ws on 2017/7/18.
//  Copyright © 2017年 王松. All rights reserved.
//

#include <stdio.h>

/**
 主调函数:调用其他函数的那个函数就是主调函数
 被调函数:在其他函数中被调用的函数就称为被调函数
 1.函数定义中,函数声明的是什么返回值类型,那么在主调函数中(调用真个函数的函数)接受的时候就必须使用相同的变量进行接收
 2.什么样的返回值类型,就必须返回什么样类型的返回值,确保返回的值的类型与函数定义中返回值的类型一致
 
 return的作用:
  1.返回数据给函数调用者
  2.结束函数
  3.在返回值类型为Void的函数也可以使用return来提前结束函数
  4.函数的返回值类型不为空,就必须返回一个值,可以随意写(return的值);
  5.在同一个函数中可以有多个return语句,但仅仅会有一个return执行,因为只要执行到return那么函数返回后面的代码就不会执行啦
 
 注意点:在C语言中没有函数重载的概念,区分函数仅仅是根据函数的名称,只要是名称相同就是重复定义,无论形参是否相同
 
 
 
重载(overload):函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同.重载既可以发生在同一个类的不同函数之间,也可发生在父类子类的继承关系之间,其中发生在父类子类之间时要注意与重写区分开
重写(override):发生于父类和子类之间，指的是子类不想继承使用父类的方法,通过重写同一个函数的实现实现对父类中同一个函数的覆盖,因此又叫函数覆盖.注意重写的函数必须和父类一模一样，包括函数名、参数个数和类型以及返回值,只是重写了函数的实现,这也是和重载区分开的关键.
 */
int sum(int num1,int num2){
    num1 = 20.1;
    return num1 + num2;
}
int main(int argc, const char * argv[]) {
    int a = 10;
    int b = 20;
    
    int result = sum(b,a);
    printf("--b==%d----%d\n",b,result);//--b==5.100000----30.400000
    return 0;
}

